Conventionally, search interfaces are designed to search through large data sets and return data as a list of results, with the most relevant results returned at the top of the list and less relevant results being returned at the bottom of the list. A user is typically presented with a text entry field through which a search query can be transmitted to a search engine, which can be a web search engine such as GOOGLE, YAHOO!, or BING, a search mechanism for a particular website, such as the search functionality on online shopping sites, or systems for searching for data and metadata stored in a computer file system or a database. In response, the search engine examines its index of resources and returns a subset of the index. Typically, these interfaces do not provide for a great deal of user interaction; related searches may sometimes be suggested, but often related search terms are generated from data about popular search queries containing a word or phrase submitted to the search system. Typically, these result data sets are generated from a larger data set created by a web crawler, and the ranking of a particular site is determined by popularity and relevancy to a given term. Relevance is relative to the data set being searched. Algorithms for determining the relevance of data on the web may determine relevance to a query differently than algorithms for searching for content in a relational database, an OLAP database, a non-relational database, a file system, or specialized data sources.
Commonly, hierarchical classifications of data are found in various environments. For example, the Dewey Decimal system used to classify works of literature is a very commonly used hierarchical classification system that breaks down works of literature into ten classes, each of which can have any number of narrower subclasses, and each subclass can be further narrowed. Another example can be found in a typical operating system file system (for example, NTFS, FAT32, or HFS+), where folders and subfolders can be a hierarchical representation of where files may be located on a computer.
While hierarchical classifications are well known, search algorithms often do not use hierarchical search algorithms because a substantial amount of data stored in various electronic formats is unstructured. Because so much data is unstructured and non-hierarchical, the use of visual representations to show hierarchical relationships is limited or nonexistent.